<?php
/**
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file license.txt or that can be found at 
 * http://code.google.com/p/billboardce/wiki/License.
 *
 * @package    Ot_Auth_Adapter_Interface
 * @category   Authentication Adapter
 * @license    http://code.google.com/p/billboardce/wiki/License New BSD License
 * @version    SVN: $Id: $
 */

/**
 * Interface to build all Authentication Adapters
 *
 * @package    Ot_Auth_Adapter_Interface
 * @category   Authentication Adapter
 */
interface Ot_Auth_Adapter_Interface
{
    /**
     * Tells the adapter if it can auto login or not.
     *
     * @return boolean
     */
    public static function autoLogin();

    /**
     * If the adapter can auto login, it needs to be able to perform some action
     * on logout.  This function does any cleaning up needed by the authentication.
     *
     */
    public static function autoLogout();

	/**
	 * Flag to tell the app where the authenticaiton is managed.  If set to true,
	 * the application will use its oww interface to interact with the adapter.
	 *
	 * @return boolean
	 */
    public static function manageLocally();
    
    
    /**
     * Flag to tell the app whether a user can sign up on their own
     * 
     * @return boolean
     *
     */
    public static function allowUserSignUp();
}